/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package newpeer;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.border.TitledBorder;

public class Prog extends JDialog implements ActionListener{
    public final static String RECUPERAR_DESCARGA="RECUPERAR_DESCARGA";
    JProgressBar jprog;
    int paqArch;
    int num = 0;
    private JButton botonRecuperarDescarga;
    private Peer padre;
    private String nombreArchivo;
    private String nombreArchivoNuevo;
    private File archivoEstado;

    public Prog(Peer peer,int paquet,String nombreArchivo,String nombreArchivoNuevo,File archivoEstado) {
        super();
        this.archivoEstado=archivoEstado;
        this.nombreArchivo=nombreArchivo;
        this.nombreArchivoNuevo=nombreArchivoNuevo;
        this.padre=peer;
        setTitle("Progreso Descarga Archivo - "+nombreArchivo);
        //System.out.println("..."+tamArch);
        paqArch = paquet;
        JPanel jpane = new JPanel();
        jpane.setLayout(new BorderLayout());
        jpane.setBorder(new TitledBorder("Progreso Descarga Archivo"));
        //jpane.setLayout(new FlowLayout());
        botonRecuperarDescarga=new JButton("Recuperar Descarga");
        botonRecuperarDescarga.setActionCommand(RECUPERAR_DESCARGA);
        botonRecuperarDescarga.addActionListener(this);
        jprog = new JProgressBar(0, paqArch);
        jprog.setValue(0);
        jprog.setStringPainted(true);
        jpane.add(jprog,BorderLayout.CENTER);
        jpane.add(botonRecuperarDescarga,BorderLayout.SOUTH);
        this.setLocationRelativeTo(null);
        setContentPane(jpane);
        pack();
        setVisible(true);
    }

    public void setValueProgreso(int nom){
        jprog.setValue(nom);
    }

    public void iterar(int num) {
        this.num=num;
        jprog.setValue(num);
        //System.out.println(num);
    }

    public void actionPerformed(ActionEvent e) {
        String comando=e.getActionCommand();
        if(comando.equals(RECUPERAR_DESCARGA)){
            padre.recuperarDescarga(archivoEstado,num,nombreArchivo,nombreArchivoNuevo);
            this.dispose();
        }
    }
}
